<?php
/**
 *  User：LRZ
 *  Date：2020/2/4
 *  Time：16:34
 */

/**
 *  1304.和为零的N个唯一的整数
 *
 *  标签：数组
 *
 *  给你一个整数 n，请你返回 任意 一个由 n 个 各不相同 的整数组成的数组，并且这 n 个数相加和为 0 。
 *
 *  示例 1：
 *      输入：n = 5
 *      输出：[-7,-1,1,3,4]
 *      解释：这些数组也是正确的 [-5,-1,1,2,3]，[-3,-1,2,-2,4]。
 *
 *  示例 2：
 *      输入：n = 3
 *      输出：[-1,0,1]
 *
 *  示例 3：
 *      输入：n = 1
 *      输出：[0]
 *   
 *  提示：1 <= n <= 1000
 *
 *  来源：力扣（LeetCode）
 *  链接：https://leetcode-cn.com/problems/find-n-unique-integers-sum-up-to-zero
 *  著作权归领扣网络所有。商业转载请联系官方授权，非商业转载请注明出处。
 */

$start = microtime(true);

$n   = 6;
$res = sumZero($n);

$end = microtime(true);
print_r($res);
printf(' total run: %.2f s<br>' . 'memory usage: %.2f M<br> ', $end - $start, memory_get_usage() / 1024 / 1024);

function sumZero($n)
{
    if ($n % 2 === 1) {
        $res = [0];
    } else {
        $res = [];
    }
    $size = (int)($n / 2);
    for ($i = 1; $i <= $size; $i++) {
        $res[] = $i;
        $res[] = -$i;
    }
    return $res;
}